
package com.gitee.flow.entity;


import jakarta.json.bind.annotation.JsonbTransient;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Lob;
import jakarta.persistence.Table;
import jakarta.persistence.Transient;
import java.io.Serializable;
import java.time.LocalDateTime;


/**
 * flow 表 .
 *
 * @author <a href="mailto:service@crenjoy.com">crenjoy</a>
 */
@Entity
@Table(name = "ACT_HI_TASKINST")
public class HiTaskinstEntity implements Serializable {

  private static final long serialVersionUID = 1L;

  /** ID_. */
  private String id;
  /** REV_. */
  private Integer rev;
  /** PROC_DEF_ID_. */
  private String procDefId;
  /** TASK_DEF_ID_. */
  private String taskDefId;
  /** TASK_DEF_KEY_. */
  private String taskDefKey;
  /** PROC_INST_ID_. */
  private String procInstId;
  /** EXECUTION_ID_. */
  private String executionId;
  /** SCOPE_ID_. */
  private String scopeId;
  /** SUB_SCOPE_ID_. */
  private String subScopeId;
  /** SCOPE_TYPE_. */
  private String scopeType;
  /** SCOPE_DEFINITION_ID_. */
  private String scopeDefinitionId;
  /** PROPAGATED_STAGE_INST_ID_. */
  private String propagatedStageInstId;
  /** STATE_. */
  private String state;
  /** NAME_. */
  private String name;
  /** PARENT_TASK_ID_. */
  private String parentTaskId;
  /** DESCRIPTION_. */
  private String description;
  /** OWNER_. */
  private String owner;
  /** ASSIGNEE_. */
  private String assignee;
  /** START_TIME_. */
  private LocalDateTime startTime;
  /** CLAIM_TIME_. */
  private LocalDateTime claimTime;
  /** END_TIME_. */
  private LocalDateTime endTime;
  /** DURATION_. */
  private Long duration;
  /** DELETE_REASON_. */
  private String deleteReason;
  /** PRIORITY_. */
  private Integer priority;
  /** DUE_DATE_. */
  private LocalDateTime dueDate;
  /** FORM_KEY_. */
  private String formKey;
  /** CATEGORY_. */
  private String category;
  /** TENANT_ID_. */
  private String tenantId;
  /** LAST_UPDATED_TIME_. */
  private LocalDateTime lastUpdatedTime;

  /**
   * 默认构造函数.
   */
  public HiTaskinstEntity() {
    super();
  }

  /** 实体主键. */
  @Transient
  @JsonbTransient
  public String getEntityPk() {
    return this.id;
  }

  /** 实体主键. */
  public void setEntityPk(String pk) {
    this.id = pk;
  }

  /** ID_(Id). */
  @Id

  @Column(name = "id_", nullable = false)
  public String getId() {
    return id;
  }

  /** ID_(Id). */
  public void setId(String id) {
    this.id = id;
  }

  /** REV_(Rev). */
  @Column(name = "rev_")
  public Integer getRev() {
    return rev;
  }

  /** REV_(Rev). */
  public void setRev(Integer rev) {
    this.rev = rev;
  }

  /** PROC_DEF_ID_(ProcDefId). */
  @Column(name = "proc_def_id_")
  public String getProcDefId() {
    return procDefId;
  }

  /** PROC_DEF_ID_(ProcDefId). */
  public void setProcDefId(String procDefId) {
    this.procDefId = procDefId;
  }

  /** TASK_DEF_ID_(TaskDefId). */
  @Column(name = "task_def_id_")
  public String getTaskDefId() {
    return taskDefId;
  }

  /** TASK_DEF_ID_(TaskDefId). */
  public void setTaskDefId(String taskDefId) {
    this.taskDefId = taskDefId;
  }

  /** TASK_DEF_KEY_(TaskDefKey). */
  @Column(name = "task_def_key_")
  public String getTaskDefKey() {
    return taskDefKey;
  }

  /** TASK_DEF_KEY_(TaskDefKey). */
  public void setTaskDefKey(String taskDefKey) {
    this.taskDefKey = taskDefKey;
  }

  /** PROC_INST_ID_(ProcInstId). */
  @Column(name = "proc_inst_id_")
  public String getProcInstId() {
    return procInstId;
  }

  /** PROC_INST_ID_(ProcInstId). */
  public void setProcInstId(String procInstId) {
    this.procInstId = procInstId;
  }

  /** EXECUTION_ID_(ExecutionId). */
  @Column(name = "execution_id_")
  public String getExecutionId() {
    return executionId;
  }

  /** EXECUTION_ID_(ExecutionId). */
  public void setExecutionId(String executionId) {
    this.executionId = executionId;
  }

  /** SCOPE_ID_(ScopeId). */
  @Column(name = "scope_id_")
  public String getScopeId() {
    return scopeId;
  }

  /** SCOPE_ID_(ScopeId). */
  public void setScopeId(String scopeId) {
    this.scopeId = scopeId;
  }

  /** SUB_SCOPE_ID_(SubScopeId). */
  @Column(name = "sub_scope_id_")
  public String getSubScopeId() {
    return subScopeId;
  }

  /** SUB_SCOPE_ID_(SubScopeId). */
  public void setSubScopeId(String subScopeId) {
    this.subScopeId = subScopeId;
  }

  /** SCOPE_TYPE_(ScopeType). */
  @Column(name = "scope_type_")
  public String getScopeType() {
    return scopeType;
  }

  /** SCOPE_TYPE_(ScopeType). */
  public void setScopeType(String scopeType) {
    this.scopeType = scopeType;
  }

  /** SCOPE_DEFINITION_ID_(ScopeDefinitionId). */
  @Column(name = "scope_definition_id_")
  public String getScopeDefinitionId() {
    return scopeDefinitionId;
  }

  /** SCOPE_DEFINITION_ID_(ScopeDefinitionId). */
  public void setScopeDefinitionId(String scopeDefinitionId) {
    this.scopeDefinitionId = scopeDefinitionId;
  }

  /** PROPAGATED_STAGE_INST_ID_(PropagatedStageInstId). */
  @Column(name = "propagated_stage_inst_id_")
  public String getPropagatedStageInstId() {
    return propagatedStageInstId;
  }

  /** PROPAGATED_STAGE_INST_ID_(PropagatedStageInstId). */
  public void setPropagatedStageInstId(String propagatedStageInstId) {
    this.propagatedStageInstId = propagatedStageInstId;
  }

  /** STATE_(State). */
  @Column(name = "state_")
  public String getState() {
    return state;
  }

  /** STATE_(State). */
  public void setState(String state) {
    this.state = state;
  }

  /** NAME_(Name). */
  @Column(name = "name_")
  public String getName() {
    return name;
  }

  /** NAME_(Name). */
  public void setName(String name) {
    this.name = name;
  }

  /** PARENT_TASK_ID_(ParentTaskId). */
  @Column(name = "parent_task_id_")
  public String getParentTaskId() {
    return parentTaskId;
  }

  /** PARENT_TASK_ID_(ParentTaskId). */
  public void setParentTaskId(String parentTaskId) {
    this.parentTaskId = parentTaskId;
  }

  /** DESCRIPTION_(Description). */
  @Column(name = "description_")
  @Lob
  public String getDescription() {
    return description;
  }

  /** DESCRIPTION_(Description). */
  public void setDescription(String description) {
    this.description = description;
  }

  /** OWNER_(Owner). */
  @Column(name = "owner_")
  public String getOwner() {
    return owner;
  }

  /** OWNER_(Owner). */
  public void setOwner(String owner) {
    this.owner = owner;
  }

  /** ASSIGNEE_(Assignee). */
  @Column(name = "assignee_")
  public String getAssignee() {
    return assignee;
  }

  /** ASSIGNEE_(Assignee). */
  public void setAssignee(String assignee) {
    this.assignee = assignee;
  }

  /** START_TIME_(StartTime). */

  @Column(name = "start_time_", nullable = false)
  public LocalDateTime getStartTime() {
    return startTime;
  }

  /** START_TIME_(StartTime). */
  public void setStartTime(LocalDateTime startTime) {
    this.startTime = startTime;
  }

  /** CLAIM_TIME_(ClaimTime). */
  @Column(name = "claim_time_")
  public LocalDateTime getClaimTime() {
    return claimTime;
  }

  /** CLAIM_TIME_(ClaimTime). */
  public void setClaimTime(LocalDateTime claimTime) {
    this.claimTime = claimTime;
  }

  /** END_TIME_(EndTime). */
  @Column(name = "end_time_")
  public LocalDateTime getEndTime() {
    return endTime;
  }

  /** END_TIME_(EndTime). */
  public void setEndTime(LocalDateTime endTime) {
    this.endTime = endTime;
  }

  /** DURATION_(Duration). */
  @Column(name = "duration_")
  public Long getDuration() {
    return duration;
  }

  /** DURATION_(Duration). */
  public void setDuration(Long duration) {
    this.duration = duration;
  }

  /** DELETE_REASON_(DeleteReason). */
  @Column(name = "delete_reason_")
  @Lob
  public String getDeleteReason() {
    return deleteReason;
  }

  /** DELETE_REASON_(DeleteReason). */
  public void setDeleteReason(String deleteReason) {
    this.deleteReason = deleteReason;
  }

  /** PRIORITY_(Priority). */
  @Column(name = "priority_")
  public Integer getPriority() {
    return priority;
  }

  /** PRIORITY_(Priority). */
  public void setPriority(Integer priority) {
    this.priority = priority;
  }

  /** DUE_DATE_(DueDate). */
  @Column(name = "due_date_")
  public LocalDateTime getDueDate() {
    return dueDate;
  }

  /** DUE_DATE_(DueDate). */
  public void setDueDate(LocalDateTime dueDate) {
    this.dueDate = dueDate;
  }

  /** FORM_KEY_(FormKey). */
  @Column(name = "form_key_")
  public String getFormKey() {
    return formKey;
  }

  /** FORM_KEY_(FormKey). */
  public void setFormKey(String formKey) {
    this.formKey = formKey;
  }

  /** CATEGORY_(Category). */
  @Column(name = "category_")
  public String getCategory() {
    return category;
  }

  /** CATEGORY_(Category). */
  public void setCategory(String category) {
    this.category = category;
  }

  /** TENANT_ID_(TenantId). */
  @Column(name = "tenant_id_")
  public String getTenantId() {
    return tenantId;
  }

  /** TENANT_ID_(TenantId). */
  public void setTenantId(String tenantId) {
    this.tenantId = tenantId;
  }

  /** LAST_UPDATED_TIME_(LastUpdatedTime). */
  @Column(name = "last_updated_time_")
  public LocalDateTime getLastUpdatedTime() {
    return lastUpdatedTime;
  }

  /** LAST_UPDATED_TIME_(LastUpdatedTime). */
  public void setLastUpdatedTime(LocalDateTime lastUpdatedTime) {
    this.lastUpdatedTime = lastUpdatedTime;
  }

  @Override
  public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + ((id == null) ? 0 : id.hashCode());
    return result;
  }

  @Override
  public boolean equals(Object obj) {
    if (this == obj) {
      return true;
    }
    if (obj == null) {
      return false;
    }
    if (getClass() != obj.getClass()) {
      return false;
    }
    final HiTaskinstEntity other = (HiTaskinstEntity) obj;
    if (id == null) {
      if (other.id != null) {
        return false;
      }
    } else if (!id.equals(other.id)) {
      return false;
    }
    return true;
  }



}
